{
  "name": "ack-nestjs-boilerplate",
  "version": "5.7.0",
  "description": "Ack NestJs Boilerplate",
  "repository": {
    "type": "git",
    "url": "https://github.com/andrechristikan/ack-nestjs-boilerplate.git"
  },
  "author": {
    "name": "andrechristikan",
    "email": "ack@baibay.id"
  },
  "private": true,
  "license": "MIT",
  "scripts": {
    "upgrade:package": "ncu -u",
    "clean": "rimraf dist",
    "build": "nest build",
    "format": "yarn format:src && yarn format:test",
    "format:src": "prettier --write src/**/*.ts",
    "format:test": "prettier --write test/**/*.ts",
    "start": "nest start",
    "start:dev": "nest start --watch",
    "start:debug": "nest start --debug --watch",
    "start:prod": "node dist/src/main",
    "lint": "yarn lint:src && yarn lint:test",
    "lint:fix": "eslint --ext .ts,.tsx '{src,test}/**/*.ts' --fix --no-error-on-unmatched-pattern",
    "lint:src": "eslint --ext .ts,.tsx 'src/**/*.ts' --no-error-on-unmatched-pattern",
    "lint:test": "eslint --ext .ts,.tsx 'test/**/*.ts' --no-error-on-unmatched-pattern",
    "test": "TZ=UTC jest --config test/jest.json --runInBand --passWithNoTests --forceExit",
    "prepare": "husky install",
    "deadcode": "ts-prune --project tsconfig.json --unusedInModule --skip *.json",
    "deadcode:filter": "ts-prune --project tsconfig.json --unusedInModule --skip *.json | grep -v '(used in module)'",
    "deadcode:count": "ts-prune --project tsconfig.json --unusedInModule --skip *.json | grep -v '(used in module)' | wc -l",
    "spell": "yarn spell:src && yarn spell:test",
    "spell:src": "cspell lint --config cspell.json src/**/*.ts --color --gitignore --no-must-find-files --no-summary --no-progress || true",
    "spell:test": "cspell lint --config cspell.json test/**/*.ts --color --gitignore --no-must-find-files --no-summary --no-progress || true",
    "seed:apikey": "nestjs-command seed:apikey",
    "seed:role": "nestjs-command seed:role",
    "seed:user": "nestjs-command seed:user",
    "seed:email": "nestjs-command seed:email",
    "rollback:apikey": "nestjs-command remove:apikey",
    "rollback:role": "nestjs-command remove:role",
    "rollback:user": "nestjs-command remove:user",
    "rollback:email": "nestjs-command remove:email",
    "seed": "yarn seed:email && yarn seed:role && yarn seed:user && yarn seed:apikey",
    "rollback": "yarn rollback:email && yarn rollback:apikey && yarn rollback:user && yarn rollback:role"
  },
  "dependencies": {
    "@aws-sdk/client-s3": "^3.513.0",
    "@aws-sdk/client-ses": "^3.513.0",
    "@casl/ability": "^6.5.0",
    "@faker-js/faker": "^8.4.1",
    "@joi/date": "^2.1.0",
    "@nestjs/axios": "^3.0.2",
    "@nestjs/common": "^10.3.3",
    "@nestjs/config": "^3.2.0",
    "@nestjs/core": "^10.3.3",
    "@nestjs/jwt": "^10.2.0",
    "@nestjs/mongoose": "^10.0.4",
    "@nestjs/passport": "^10.0.3",
    "@nestjs/platform-express": "^10.3.3",
    "@nestjs/platform-socket.io": "^10.3.8",
    "@nestjs/schedule": "^4.0.1",
    "@nestjs/swagger": "^7.3.0",
    "@nestjs/terminus": "^10.2.2",
    "@nestjs/throttler": "^5.1.2",
    "@nestjs/websockets": "^10.3.8",
    "@ntegral/nestjs-sentry": "^4.0.1",
    "@sentry/node": "^7.101.0",
    "@types/response-time": "^2.3.8",
    "axios": "^1.6.7",
    "bcryptjs": "^2.4.3",
    "case": "^1.6.3",
    "class-transformer": "^0.5.1",
    "class-validator": "^0.14.1",
    "crypto-js": "^4.2.0",
    "google-auth-library": "^9.6.3",
    "helmet": "^7.1.0",
    "joi": "^17.12.1",
    "moment": "^2.30.1",
    "moment-timezone": "^0.5.45",
    "mongoose": "^8.3.4",
    "nest-winston": "^1.9.4",
    "nestjs-command": "^3.1.4",
    "nestjs-i18n": "^10.4.0",
    "passport": "^0.7.0",
    "passport-headerapikey": "^1.2.2",
    "passport-jwt": "^4.0.1",
    "pg": "8.11.5",
    "randexp": "^0.5.3",
    "reflect-metadata": "^0.2.1",
    "response-time": "^2.3.2",
    "rotating-file-stream": "^3.2.1",
    "rxjs": "^7.8.1",
    "socket.io": "^4.7.5",
    "ua-parser-js": "^1.0.37",
    "winston": "^3.11.0",
    "winston-daily-rotate-file": "^5.0.0",
    "xlsx": "0.18.5",
    "yargs": "^17.7.2",
    "yarn": "^1.22.21"
  },
  "devDependencies": {
    "@nestjs/cli": "^10.3.2",
    "@nestjs/schematics": "^10.1.1",
    "@nestjs/testing": "^10.3.3",
    "@types/bcryptjs": "^2.4.6",
    "@types/bytes": "^3.1.4",
    "@types/cors": "^2.8.17",
    "@types/cron": "^2.0.1",
    "@types/crypto-js": "^4.2.2",
    "@types/express": "^4.17.21",
    "@types/jest": "^29.5.12",
    "@types/lodash": "^4.14.202",
    "@types/ms": "^0.7.34",
    "@types/multer": "^1.4.11",
    "@types/node": "^20.11.17",
    "@types/passport-jwt": "^4.0.1",
    "@types/supertest": "^6.0.2",
    "@types/ua-parser-js": "^0.7.39",
    "@types/uuid": "^9.0.8",
    "@typescript-eslint/eslint-plugin": "^7.0.1",
    "@typescript-eslint/parser": "^7.0.1",
    "cspell": "^8.3.2",
    "eslint": "^8.56.0",
    "eslint-config-prettier": "^9.1.0",
    "eslint-plugin-import": "^2.29.1",
    "husky": "^9.0.11",
    "jest": "^29.7.0",
    "prettier": "^3.2.5",
    "supertest": "^6.3.4",
    "ts-jest": "^29.1.2",
    "ts-loader": "^9.5.1",
    "ts-node": "^10.9.2",
    "ts-prune": "^0.10.3",
    "tsconfig-paths": "^4.2.0",
    "typescript": "^5.3.3"
  }
}
